#pragma once

#include "IServiceLocator.h"
#include <string>


struct __declspec(novtable) __declspec(uuid("{6288D37A-F061-4144-BEBD-F49768CADFAE}")) IEnvironment
	: public IService
{
	virtual void set_Module(HINSTANCE ah_Instance) = 0;
	virtual HINSTANCE get_Module() const = 0;

	virtual std::wstring get_ModuleFilename() const = 0;
	virtual std::wstring get_ModulePath() const = 0;
	virtual std::wstring get_WorkPath() const = 0;
	virtual std::wstring get_WalhallPath() const = 0;
	virtual std::wstring get_AppDataDirectory() const = 0;
};
